Method and apparatus for updating applications on a mobile device via device synchronization

ABSTRACT

A method and system for the delivery of updated web platform applications to a mobile electronic device upon synchronization of the mobile device with a computer. Specifically, one embodiment of the present invention discloses a method and system for dynamically creating personalized and up-to-date applications whenever a mobile electronic device is synchronized with a stand-alone computer system that is coupled to remotely located content servers or computers via a communication network, such as the Internet. Conduits act as gateways for synchronization between the mobile electronic device and the plurality of content servers or computers. These conduits coordinate the loading of the personalized and up-to-date applications onto the mobile electronic device. In one example, a user can then access up-to-date information on the applications at a more convenient time and while disconnected from the content servers or computers that provide the information.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of application Ser. No.09/727,991, entitled “METHOD AND APPARATUS FOR UPDATING APPLICATIONS ONA MOBILE DEVICE VIA DEVICE SYNCHRONIZATION,” filed Nov. 30, 2000,assigned to the assignee of the present application. The subject matterin the above-identified co-pending and commonly owned applications isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of web based applicationslocated on mobile devices. In one embodiment, the present invention isdirected to the field of user interactions with web content via apalm-sized computer system.

2. Related Art

As the components required to build a computer system have reduced insize, new categories of computer systems have emerged. One of the newcategories of computer systems is the “palmtop” computer system. Apalmtop computer system is a mobile computer that is small enough to beheld in the hand of a user and can therefore be “palm-sized”. Palmtopcomputers have been known as Personal Digital Assistants (hereinafterreferred to as “PDAs”).

Personal Digital Assistants can be used for mobile access to theInternet using a wireless or modem connection. Users can browse andinteract with various web sites over the Internet via their PDAs. Tocompensate for low bandwidth limitation, smaller display areas, limitedmemory, limited processor speeds associated with PDAs, new technologieshelp condense the contents of a web page to a format compatible with aPDA. The condensed web content streamlines information by minimizingtext and graphics. Pertinent information is retained while extraneousinformation is deleted.

Web platform applications are located on a PDA and facilitate userinteraction with the content servers that maintain particular web sites.A single web platform application on a PDA is supported by a particularweb site on the Internet. These web platform applications are designedto interact with and facilitate the transfer of the condensed webcontent from a particular web site to the PDA. User interface elementsintegrated into the web platform application help to retrieve anddisplay web content.

Additionally, a PDA can contain and operate many other applications thatmay run independently of any support application located remotely fromthe PDA. Further, a PDA may have applications that are supported by orare extensions of applications located remotely from the PDA, such as ona stand-alone computer system. Some typical applications are addressbook and calendar, where they interact with a remotely locatedapplication to import and export the exchange of data.

Web platform applications consist of static content including text,search forms, image files, links to files within the application, etc.By installing a web platform application onto a PDA, users in essencepre-select web sites that are important to the user. A host of installedweb applications on a PDA can provide access to specific types ofinformation such as stock quotes, flight schedules, restaurant listings,as well as other pieces of information while connected to the internet.

Unfortunately, users must be actively connected to the Internet whenaccessing information located on a particular web site. The usernecessarily is present at the time of connection with the Internet whenrequesting information or interacting with a content server. This activemonitoring is not an efficient use of a user's time particularly withthe low wireless connection bandwidth typically associated with PDAs.The user must wait for the request to be formatted, be transmitted to acontent server, the request to be processed, and the condensed webcontent to be reformatted and delivered back to the PDA.

For example, if a user is interested in the latest news, the user canconnect with a news web site through a web platform application residenton a PDA. After navigating through the various links and queries, thedesired information is condensed and sent back to the user's PDA.Depending on the size of the file, additional time is needed to downloadthe condensed web content. Further, if the PDA runs out of power at anytime during the transaction, the user cannot access the information andmust restart the process after re-powering the PDA. Thus, a need existsto provide a more efficient way to using web applications to interactwith content servers.

Additionally, web platform applications may become permanent legacies ona user's PDA unless the user chooses to update that particular webplatform application. Even if a newer version of a web platformapplication contains unique and desirable features, many users will nottake the time and trouble to update the web platform application. Notingits static nature, web platform applications are designed to last forthe useable lifetime of a PDA. Therefore, a web site must have thecapability to support newer as well as older versions of their webplatform applications in order to maintain customer satisfaction. Thus,a need exists to provide a better way to support web platformapplications.

Web platform applications typically are generalized to appeal to a broadcross-section of users. Because of its general nature, a user may needto navigate through a number of pages both within the web platformapplication located on the user's PDA and possibly on the web sitebefore viewing any desired information. The user through-rate becomesmore critical the greater number of pages a user navigates through toretrieve information, Through-rates of as high as fifty percent areestimated such that web sites lose up to fifty percent of viewers ateach new page in a navigational sequence. Thus, it would be advantageousto provide a better way to retain more viewers of a particular web site.

SUMMARY OF THE INVENTION

The present invention provides a method and system for the updating ofapplications located on a mobile device by synchronizing the mobiledevice with a host stand-alone computer. The present invention providesa more efficient way for web platform applications to interact withcontent servers through synchronization. The present invention alsoprovides a better way for content servers to support web platformapplications since web platform applications can be updated. Also, thepresent invention provides a way to personalize the web platformapplication in order to retain more viewers of a particular web site.

These and other objects and advantages of the present invention will nodoubt become obvious to those of ordinary skill in the art after havingread the following detailed description of the preferred embodimentswhich are illustrated in the various drawing figures.

Specifically, a method and system for the delivery of updated webplatform applications to a mobile electronic device upon synchronizationof the mobile device with a host computer is described. Personalized andup-to-date applications are dynamically created whenever a mobileelectronic device is synchronized with a stand-alone computer systemthat is coupled to remotely located content servers or computers via acommunication network, such as the Internet. Conduits act as gatewaysfor synchronization between the mobile electronic device and theplurality of content servers or computers. These conduits coordinate theloading of the personalized and up-to-date applications onto the mobileelectronic device. A user can then access up-to-date information on theapplications at a more convenient time and while disconnected from thecontent servers or computers that provide the information.

In one embodiment, a conduit program associated with a specific webplatform application coordinates the updating of the web platformapplication. When a mobile device synchronizes with a host computersystem, the conduit establishes communication between the host computersystem and the content server that supports that web platformapplication. The conduit determines if the web platform application onthe mobile device is the most current version offered by the contentserver. If outdated, the conduit coordinates the downloading of the mostcurrent version of the web platform application from the content serverto the mobile device. A user can then access information on the webplatform application at a more convenient time.

In another embodiment, the content server dynamically creates the mostcurrent version of the web platform application and personalizes theapplication to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a block diagram of a first exemplary networkenvironment including a personal digital assistant in accordance with anembodiment of the present invention.

FIG. 1B illustrates a block diagram of a second exemplary networkenvironment including a personal digital assistant coupled to othercomputer systems and the Internet via a cradle device in accordance withan embodiment of the present invention.

FIG. 2A is a top side perspective view of a palmtop computer system thatcan be used as a platform for the data entry and authenticationembodiments of the present invention.

FIG. 2B is a bottom side perspective view of the palmtop computer systemof FIG. 2A.

FIG. 3 is an exploded view of the components of the palmtop computersystem of FIG. 2A.

FIG. 4 is a perspective view of the cradle device for connecting thepalmtop computer system to other systems via a communication interface.

FIG. 5 is a logical block diagram of the palmtop computer system inaccordance with an embodiment of the present invention.

FIG. 6 is a front view of a palm top computer system illustrating thedisplay screen, and a generalized form of launching icons associatedwith applications resident on a personal digital assistant.

FIG. 7 illustrates a block diagram of an exemplary network environmentshowing the conduit as a gateway between a content server and a personaldigital assistant in accordance with an embodiment of the presentinvention.

FIG. 8 illustrates a front view of a palm top computer systemillustrating the front page of a web platform application in accordancewith an embodiment of the present invention.

FIG. 9 illustrates a flow diagram illustrating Steps in a computerimplemented method for updating web platform applications via devicesynchronization in accordance with an embodiment of the presentinvention.

FIG. 10 is a flow diagram illustrating steps in a computer implementedmethod for creating a personalized and up-to-date web platformapplication in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Reference will now be made in detail to the preferred embodiments of thepresent invention, a method and system for the updating of applicationsvia device synchronization, examples of which are illustrated in theaccompanying drawings. While the invention will be described inconjunction with the preferred embodiments, it will be understood thatthey are not intended to limit the invention to these embodiments. Onthe contrary, the invention is intended to cover alternatives,modifications and equivalents, which may be included within the spiritand scope of the invention as defined by the appended claims.Furthermore, in the following detailed description of the presentinvention, numerous specific details are set forth in order to provide athorough understanding of the present invention. However, it will berecognized by one of ordinary skill in the art that the presentinvention may be practiced without these specific details. In otherinstances, well known methods, procedures, components, and circuits havenot been described in detail as not to unnecessarily obscure aspects ofthe present invention.

Notation and Nomenclature

Some portions of the detailed descriptions which follow are presented interms of procedures, steps, logic blocks, processing, and other symbolicrepresentations of operations on data bits that can be performed oncomputer memory. These descriptions and representations are the meansused by those skilled in the data processing arts to most effectivelyconvey the substance of their work to others skilled in the art. Aprocedure, computer executed step, logic block, process, etc., is here,and generally, conceived to be a self-consistent sequence of steps orinstructions leading to a desired result. The steps are those requiringphysical manipulations of physical quantities. Usually, though notnecessarily, these quantities take the form of electrical or magneticsignals capable of being stored, transferred, combined, compared, andotherwise manipulated in a computer system. It has proven convenient attimes, principally for reasons of common usage, to refer to thesesignals as bits, values, elements, symbols, characters, terms, numbers,or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the followingdiscussions, it is appreciated that throughout the present invention,discussions utilizing terms such as “accessing” “processing” or“computing” or “translating” or “calculating” or “determining” or“scrolling” or “displaying” or “recognizing” or the like, refer to theaction and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (electronic) quantities within the computer system's registersand memories into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission or display devices.

Exemplary Palmtop Computer System Platform

The present invention is compatible with any electronic device having ascreen. One of the common types of electronic systems which can be usedin accordance with one embodiment of the present invention is referredto as a personal digital assistant, or commonly called a PDA. The PDA isa pocket sized electronic organizer with the capability to storetelephone numbers, addresses, daily appointment, and software that keepstrack of business or personal data such as expenses, etc. Furthermore,the PDA also has the ability to connect to a stand-alone computersystem, enabling the two devices to exchange updated information, thatis synchronize the information between the two devices. Additionally,the PDA can also be connected to a modem, enabling it to have electronicmail (e-mail) capabilities over the Internet along with other Internetcapabilities. Moreover, an advanced PDA can have Internet capabilitiesover a wireless communication interface (e.g., radio interface). Inparticular, the PDA can be used to browse Web pages located on theInternet. The PDA can be coupled to a networking environment. It shouldbe appreciated that embodiments of the present invention are well suitedto operate within a wide variety of electronic systems (e.g., computersystems) which can be communicatively coupled to a networkingenvironment, including cellular phones, pagers, etc.

FIG. 1A is a block diagram of an exemplary network environment 50including an exemplary personal digital assistant. The PDA 100 is alsoknown as a palmtop or palm-sized electronic system or computer system.The PDA 100 has the ability to transmit and receive data and informationover a wireless communication interface (e.g., a radio interface). ThePDA 100 is one exemplary implementation on which the present inventioncan operate. The present invention can operate on any portableelectronic system or device.

In one embodiment, base station 32 is both a transmitter and receiverbase station which can be implemented by coupling it into an existingpublic telephone network 34. Implemented in this manner, base station 32enables the personal digital assistant 100 to communicate with a proxyserver computer system 36, which is coupled by wire 35 to the existingpublic telephone network 34. Furthermore, proxy server computer system36 is coupled to the Internet 52, thereby enabling the PDA 100 tocommunicate with the Internet 52. It should be further appreciated thatother embodiments of a communications network may be utilized inaccordance with the present invention.

The data and information which are communicated between base station 32and the personal digital assistant 100 are a type of information anddata that can conventionally be transferred and received over a publictelephone wire network system. However, a wireless communicationinterface is utilized to communicate data and information between thePDA 100 and base station 32. It should be appreciated that oneembodiment of a wireless communication system in accordance with thepresent invention is the Mobitex wireless communication system.

FIG. 1B illustrates a system 51 that can be used in conjunction with thepresent invention. System 51 comprises a host computer system 56 whichcan either be a desktop unit as shown, or, alternatively, can be alaptop system 58. Optionally, one or more host computer systems can beused within system 50. Host computer systems 58 and 56 are shownconnected to a communication bus 54, which in one embodiment can be aserial communication bus, but could be of any of a number of well knowndesigns, e.g., a parallel bus, Ethernet Local Area Network (LAN), etc.Optionally, bus 54 can provide communication with the Internet 52 usinga number of well known protocols.

Importantly, bus 54 is also coupled to a cradle 60 for receiving andinitiating communication with a personal digital assistant 100 in oneembodiment of the present invention. Cradle 60 provides an electricaland mechanical communication interface between bus 54 (and anythingcoupled to bus 54 such as content servers on Internet 52) and the PDA100 for two way communications. The PDA 100 also contains a wirelessinfrared communication mechanism 64 (e.g., an infrared emitter anddetector device) for sending and receiving information from othersimilarly equipped devices (see FIG. 1B).

With reference to FIGS. 1A and 1B, it is appreciated that the exemplarypersonal digital assistant or palmtop computer system 100 can be used innetwork environment combining elements of networks 50 and 51. That is,as will be seen below, the PDA 100 can include both a wireless infraredcommunication mechanism and a signal (e.g., radio) receiver/transmitterdevice.

FIG. 2A is a perspective illustration of the top face 100 a of oneembodiment of the palmtop computer system. The top face 100 a contains adisplay screen 105 surrounded by a bezel or cover. A removable stylus 80is also shown. The display screen 105 is a touch screen able to registercontact between the screen and the tip of the stylus 80. The stylus 80can be of any material to make contact with the screen 105. The top face100 a also contains one or more dedicated and/or programmable buttons 75for selecting information and causing the computer system to implementfunctions. The on/off button 95 is also shown.

FIG. 2A also illustrates a handwriting recognition pad or “digitizer”containing two regions 106 a and 106 b. Region 106 a is for the drawingof alphabetic characters therein (and not for numeric characters) forautomatic recognition, and region 106 b is for the drawing of numericcharacters therein (and not for alphabetic characters) for automaticrecognition. The stylus 80 is used for stroking a character within oneof the regions 106 a or 106 b. The stroke information is then fed to aninternal processor for automatic character recognition. Once charactersare recognized, they are typically displayed on the screen forverification and/or modification.

FIG. 2B illustrates the bottom side 100 b of one embodiment of thepalmtop computer system. An optional extendible antenna 85 is shown andalso a battery storage compartment door 90 is shown. A communicationinterface 108 is also shown. In one embodiment of the present invention,the communication interface 108 is a serial communication port, butcould also alternatively be of any of a number of well knowncommunication standards and protocols, e.g., parallel, USB, SCSI,Firewire (IEEE 1394), Ethernet, etc. It is appreciated that interface108 can also be used for charging current when using rechargeablebatteries.

FIG. 3 is an exploded view of the palmtop computer system 100 inaccordance with one implementation. System 100 contains a front cover210 having an outline of region 106 and holes 75 a for receiving buttons75 b. A flat panel display 105 (both liquid crystal display and touchscreen) fits into front cover 210. Any of a number of displaytechnologies can be used, e.g., liquid crystal display (LCD), fieldemission display (FED), plasma, etc., for the flat panel display 105. Abattery 215 provides electrical power. A contrast adjustment(potentiometer) 220 is also shown. On/off button 95 is shown along withan infrared emitter and detector device 64. A flex circuit 230 is shownalong with a PC board 225 containing electronics and logic (e.g.,memory, communication bus, processor, etc.) for implementing computersystem functionality. A digitizer pad can be part of the displayassembly or it can also be included in PC board 225. A midframe 235 isshown along with stylus 80. Position adjustable antenna 85 is shown.

A radio receiver/transmitter device 240 is also shown between themidframe and the rear cover 245 of FIG. 3. The receiver/transmitterdevice 240 is coupled to the antenna 85 and also coupled to communicatewith the PC board 225. In one implementation, the Mobitex wirelesscommunication system is used to provide two way communication betweensystem 100 and other networked computers and/or the Internet via a proxyserver. In other embodiments, TCP protocol can be used.

FIG. 4 is a perspective illustration of one embodiment of the cradle 60for receiving the palmtop computer system 100. Cradle 60 contains amechanical and electrical interface 260 for interfacing withcommunication interface 108 (FIG. 2B) of computer system 100 when system100 is slid into the cradle 60 in an upright position. Once inserted,button 270 can be pressed to initiate two way communication betweensystem 100 and other computer systems coupled to electrical interfacecable 265.

Referring now to FIG. 5, portions of the present electronic system arecomprised of computer-readable and computer-executable instructionswhich reside, for example, in computer-readable media of an electronicsystem (e.g., personal digital assistant, computer system, and thelike). FIG. 5 is a block diagram of exemplary interior components of anexemplary electronic device, an example of which is personal digitalassistant 100, upon which embodiments of the present invention may beimplemented. It is appreciated that the exemplary PDA 500 of FIG. 5 isonly exemplary and that the present invention can operate within anumber of different electronic systems including general purposenetworked computer systems, embedded computer systems, and stand-aloneelectronic systems such as a cellular telephone or a pager.

FIG. 5 illustrates circuitry of an exemplary electronic system orcomputer system 500 (such as the personal digital assistant), some ofwhich can be implemented on PC board 225 (FIG. 3). Exemplary computersystem 500 includes an address/data bus 520 for communicatinginformation, a central processor 501 coupled with the bus 520 forprocessing information and instructions, a volatile memory 502 (e.g.,random access memory (RAM), static RAM dynamic RAM, etc.) coupled withthe bus 520 for storing information and instructions for the centralprocessor 501 and a non-volatile memory 503 (e.g., read only memory(ROM), programmable ROM, flash memory, EPROM, EEPROM, etc.) coupled tothe bus 520 for storing static information and instructions for theprocessor 501. Exemplary computer system 500 also includes an optionaldata storage device 504 (e.g., memory card, hard drive, etc. coupledwith the bus 520 for storing information and instructions. Data storagedevice 504 can be removable. As described above, exemplary computersystem 500 also contains an electronic display device 505 coupled to thebus 520 for displaying information to the computer user. In oneembodiment, PC board 225 (FIG. 3) can contain the processor 501, the bus520, the ROM 503 and the RAM 502.

Also included in computer system 500 of FIG. 5 is an alphanumeric inputdevice 506 which in one implementation is a handwriting recognition pad(“digitizer”) having regions 106 a and 106 b (FIG. 2A), for instance.Device 506 can communicate information (spatial data and pressure data)and command selections to the central processor 501. System 500 alsoincludes an optional cursor control or directing device 507 coupled tothe bus for communicating user input information and command selectionsto the central processor 501. In one implementation, device 507 is atouch screen device incorporated with display 505. Device 507 is capableof registering a position on the display 505 where the stylus makescontact and the pressure of the contact. The display device 505 utilizedwith the computer system 500 may be a liquid crystal device, cathode raytube (CRT), field emission device (FED, also called flat panel CRT) orother display device suitable for creating graphic images andalphanumeric characters recognizable to the user. In the preferredembodiment, display 505 is a flat panel display.

With reference still to FIG. 5, exemplary computer system 500 alsoincludes a signal input/output device 508 which is coupled to bus 520for providing a communication link between computer system 500 and anetwork environment (e.g., network environment 50 and 51 of FIGS. 1A and1B respectively). As such signal input/output device 508 enables centralprocessor unit 501 to communicate wirelessly with other electronicsystems coupled to the network. It should be appreciated that within thepresent embodiment, signal input/output device 508 is coupled to antenna85 and provides the functionality to transmit and receive informationover a wireless communication interface. It should be furtherappreciated that the present embodiment of signal input/output device508 is well-suited to be implemented in a wide variety of ways. Forexample, signal input/output device 508 could be implemented as a modem.Further, signal input/output communication device 508, also coupled tobus 520, can be a serial port for communicating with the cradle 60.Additionally, device 508 can also include an infrared communicationport.

Web Platform Applications

A method and system are described utilizing web platform applicationsand applications in general. Applications resident on a personal digitalassistant 100 are software programs that can run independently, or canbe extensions of and supported by corresponding applications located onremote computer systems. Web platform applications are commonly known asweb clipping applications, an example of which is a palm queryapplication. FIG. 6 shows the front face of a personal digital assistant100. Launching icons representing applications 610, 620, 630, 640, 650,and 660 that are resident on PDA 100 are shown on display 105.

Applications on PDA 100 can be extensions of corresponding applicationslocated on a remote stand-alone computer system. For example, throughsynchronizing the PDA 100 with a stand-alone computer system, theaddress book application 660 and restaurant sales application 630 shownin FIG. 6 can exchange data with and be supported by the correspondingapplications located on a stand-alone computer system, such as system 56in FIG. 1B. The process of synchronization is described in more detailin the following three U.S. patents which are hereby incorporated byreference: U.S. Pat. No. 5,727,202 entitled “Method and Apparatus forSynchronizing Information on Two Different Computer Systems”, issuedMar. 10, 1998; U.S. Pat. No. 5,832,489 entitled “Method and Apparatusfor Synchronizing Information on Two Different Computer Systems”, issuedNov. 3, 1998; U.S. Pat. No. 6,006,274 entitled “Method and Apparatususing a Pass Through Personal Computer Connected to Both a LocalCommunication Link and a Computer Network for Identifying andSynchronizing a Preferred Computer with a Portable Computer”, issuedDec. 21, 1999.

Additionally independent programs such as games or the expenseapplication 620 may run independently of any remote support application.A simple expense application 620 might track the daily expenses of auser.

An example of a web platform application in FIG. 6 that is supported bya content server, that maintains a specific web site, is the XYZNEWSapplication 610. A user can use XYZNEWS application 610 to interact withthe XYZNEWS content server to access information about the latestbreaking news. In general, web platform applications facilitates userinteraction with content servers associated with those applications. Theweb platform application contains user-interface elements thatretrieves, updates, and displays content on a PDA 100. A host ofinstalled web applications on PDA 100 can provide access to specifictypes of information such as stock quotes, flight schedules, restaurantlisting, as well as other pieces of information while connected to theInternet. Additionally, a web platform application can facilitate userinteraction with a content server by having a user fill out query formslocated on a web platform application while disconnected from theInternet. Subsequently, the forms are sent out for processing the nexttime the PDA 100 is synchronized with a host computer system, such assystem 56 in FIG. 1B.

Science experiment application 650 in FIG. 6 represents an applicationthat is an extension of a corresponding application located on astand-alone computer system, such as system 56 in FIG. 1B, that can bedirectly accessed and need not be supported through the Internet.

The HotSync application 640 of FIG. 6 assists in the synchronization ofdata between PDA 100 and a stand-alone computer system, such as system56 in FIG. 1B. For example, data stored in PDA 100 associated withaddress book application 660 can be synchronized with data associatedwith a corresponding address book application on the stand-alonecomputer system 56.

Updating Applications on a Mobile Device Synchronization

Although the description of one embodiment of the present invention willfocus on an exemplary personal digital assistant (hereinafter referredto as “PDA”) or palmtop computer system, embodiments of the presentinvention can be practiced with other electronic systems or electronicdevices (e.g. personal computer systems, cellular phones, pagers,portable web devices, etc.).

FIG. 7 shows an exemplary network configuration 700 in one embodiment ofthe present invention. It is appreciated that network 700 is similar tothe network 51 in FIG. 1B. System 700 comprises a host computer system56 that is coupled to a cradle 60 for receiving and initiatingcommunication with a personal digital assistant 100. Host computersystem 56 is also coupled to a communication network such as theInternet 52. A content server 740 that maintains a particular web siteis also coupled to Internet 52.

In one embodiment of the present invention, conduit programs areresident on host computer system 56. During synchronization, conduitprograms are activated to maintain data pipelines between host computer56 and PDA 100 during synchronization. The conduits act as gatewaysbetween the two devices to drive the data synchronization between PDA100 and the host computer 56. Each conduit is assigned to each uniquepair of corresponding applications on the host computer system and PDA100. Conduits are described in more detail and are described in thefollowing patents which are hereby incorporated by reference: U.S. Pat.No. 6,000,000 entitled “Extendible Method and Apparatus forSynchronizing Multiple Files on Two Different Computer Systems”, issuedMay 4, 1998; and U.S. Pat. No. 5,884,323 entitled “Extendible Method andApparatus for Synchronizing Files on Two Different Computer Systems”,issued Mar. 16, 1999.

The address book application 660 of FIG. 6 and its corresponding addressbook application on host computer 56, for example, uses a conduit tofacilitate the transfer and exchange of data between the two devices. Inaddition, a conduit program can install applications onto PDA 100 suchthat third party applications or after market applications can bebrought to PDA 100. Further, the conduit is able to convert data into aformat compatible with PDA 100 from other formats used by otherdata-handling applications.

Additionally, the conduit 710 in FIG. 7 that is resident on hostcomputer 56 facilitates communication between PDA 100 and a contentserver 740 in one embodiment of the present invention. In essence it isthe gateway for communication between PDA 100 and content server 740.The conduit 710 is associated with a particular application on PDA 100,such as the XYZNEWS application 610 of FIG. 6. Content server 740maintains the web site that supports XYZNEWS application 610. Uponsynchronizing PDA 100 with host computer 56 in network 700, conduit 710is able to coordinate the updating of the XYZNEWS application 610 andloading of the updated version of XYZNEWS application 610 onto PDA 100.A user of PDA 100 can then access the information, the latest news, onXYZNEWS at a more convenient time and while PDA 100 is disconnected fromInternet 52.

In one instance, a user comes into the office and begins synchronizationof PDA 100 with the host computer system 56. The user need not activelymonitor the synchronization process. Conduits associated with eachapplication on PDA 100 will perform data synchronization and theupdating of each of the applications. Since the user at a moreconvenient time can access the applications and the informationcontained therein, such as XYZNEWS application 610 in the previousparagraph, the user is free to do other activities and is not forced towait for the information to be downloaded onto the PDA 100. Thisprovides an efficient way to interact with one or more web sites sincethe information contained within those web sites are downloaded to thePDA 100 at one sitting and without any monitoring by the user.

In another embodiment of the present invention, the conduit on the hostcomputer system actively searches for an updated or newer applicationassociated with that conduit over a communication network, such as theInternet. The search is conducted while the personal digital assistantis not coupled to the host computer system. If the conduit finds anupdated or newer application than the application presently on the PDA,then the content server or stand-alone computer system associated withthe application sends the updated or newer application for loading intomemory located in the host computer system. The next time asynchronization process is conducted between the PDA and the hostcomputer, the updated or newer application is downloaded to the PDA. Theversion of the application previously resident on the PDA is replacedwith the updated or newer application.

FIG. 8 illustrates the front page 800 of XYZNEWS application 610. It isappreciated that the FIG. 8 is a generalization of web platformapplications. The XYZNEWS application 610 has been updated during asynchronization process between PDA 100 and a host computer system, suchas host computer 56 in FIG. 1B. Items beyond news can be containedwithin the XYZNEWS application 610 such as forms for purchasing,questionnaires, pictures, links to other applications, etc.

The title 810 of the web site supporting XYZNEWS application 610 isdisplayed in FIG. 8 along with the time 825 and date 820. The leadingnews stories along with links 850, 860, and 870 to those stories arealso displayed. The XYZNEWS application 610 can be multiple pages thatcontain further links to other leading news stories and files that arecompiled onto the XYZNEWS application itself. These files can containstatic content such as the news stories, image files to go with the newsstories, and search forms for user interaction with the web site. SinceXYZNEWS chooses to put its news stories directly onto the XYZNEWSapplication 610, one embodiment of the present invention provides ameans for updating of the news stories with limited interaction by theuser just by synchronizing the PDA 100 to a host computer.

In another embodiment of the present invention, any application on a PDA100 is capable of being updated via device synchronization using thatapplication's conduit. For example, a mortgage lender may have anapplication that contains forms to fill out in order to see if a buyerqualifies for a mortgage loan. If the mortgage company wants to modifyany of the forms, or to add new forms, or delete old forms, or to addnew features to its web platform application, every time a synchingoperation is performed by a user of that mortgage company's applicationthat user's conduit will facilitate the transfer of the newest versionof the mortgage application through a communication network as in FIG.7.

Additionally, in still another embodiment of the present invention, anapplication may be updated through a direct connection that does notinclude any Internet connection. For example, science experiment 650 inFIG. 6 represents an application that is an extension of a correspondingapplication located on a stand-alone computer system, such as hostcomputer 56 in FIG. 1B, or another remotely located computer system.Tabulation of results from an experiment may require two to three daysof execution. Science experiment application 650 can be used to accessthe real-time results of the experiment. Upon synchronization, theconduit associated with science experiment application 650 will updatethe application to contain the most current tabulated results. Further,graphs illustrating the results could be made if the web applicationdeveloper so chooses that also could be included within the scienceexperiment application 650.

Another example of an application that is updated through devicesynchronization in one embodiment of the invention without connecting tothe Internet is the restaurant sales application 630 of FIG. 6. Sales ofmenu items can be recorded on a stand-alone computer located at arestaurant. A corresponding application to the sales application 630 isresident on the stand-alone computer and directs the recordation of suchitems as total monthly sales, specific menu item sales, cost of menuitems, etc. A user can access those results by synchronizing a PDAcontaining the sales application 630 to the stand-alone computer locatedat the restaurant. A conduit resident on the stand-alone computerfacilitates the updating of the sales application 630 such that thelatest version of the sales application 630 that contains the mostcurrent sales results is downloaded to the PDA and replaces the previousversion of the sales application 630.

FIG. 9 illustrates an exemplary data flow diagram of process 900 forupdating applications on a personal digital assistant via devicesynchronization using conduit programs, in one embodiment of the presentinvention. In step 910, a PDA, such as PDA 100, is synchronized to ahost computer, such as host computer 56 in FIG. 1B. A conduit programassociated with a specific application on PDA 100 is automaticallyactivated upon synchronization of PDA 100 in step 920. The conduitprogram then automatically establishes communication with the contentserver that maintains the web site associated with the specificapplication in step 930. This communication can be over an Internetcommunication network or through a direct link to the content server,such as the case when the content server is the host computer 56. It isappreciated that in one embodiment of the present invention, conduitsare capable of updating all types of applications resident on PDA 100and whether their corresponding support applications are accessed via adirect link, wireless link, or through a communication network includingthe internet.

In step 940 of FIG. 9, the conduit determines if the present applicationon the PDA 100 is the most current version. This entails in oneembodiment of the present invention, communicating with the contentserver and the PDA 100 to determine which version of the application islocated on the PDA and the content server and comparing the twoversions. If the present application is not the most current version,then the conduit in step 950 communicates a request to the contentserver for the most current version. In step 960, the content serversends the most current version of the application to the PDA 100. Instep 970, the conduit automatically replaces the present application onthe PDA 100 with the most current version of the application.

On the other hand, in step 940 of FIG. 9, if the present application isthe most current version, then the procedure outlined in process 900 iscompleted. Precious bandwidth is saved by not sending a version of theapplication that already exists on the PDA. This opens bandwidth forother applications that need to be updated.

In another embodiment of the present invention, the content serverdynamically creates a personalized and up-to-date version of the webplatform application, or any application in general. After step 940 ofprocess 900, when the conduit associated with the web platformapplication determines that present application is capable of beingupdated, the conduit coordinates the communication of identifyinginformation about the user of the web platform application to thecontent server in step 943 of process 1000 in FIG. 10. It is appreciatedthat the content server may be a stand-alone computer system that isaccessed directly, wirelessly, or through the internet. In step 945, thecontent server accesses information about the user from databasesavailable to the content server. This information may include such itemsas name, address, and other personal information that is gained throughprevious interactions with the user, through data mining techniques, orother data gathering techniques. In step 947, the content serverdynamically creates a personalized and up-to-date web platformapplication. The process 1000 then proceeds to step 960 in FIG. 9.

Referring back to FIG. 8, the XYZNEWS application 610 is personalized tothe user, in one embodiment of the present invention. For example, line830 shows a greeting to the user “Hello User.” Further, by virtue ofdata mining techniques and previous interaction with the user, thecontent server associated with XYZNEWS application 610 knows that theuser is specifically interested in various topics including thefollowing: the country Kuza, the sport of bicycling, and medicaldevelopments in the area of Intrapartum Asphyxia. Previously, the usermay have requested that the XYZNEWS application 610 be limited to thesevarious topics of interest, or may have linked to these topic areasnumerous times. Thus, when a user pulls up the front page 810 of XYZNEWSapplication 610, the user receives a personalized and up-to-dateapplication.

Current news that are important to the user are displayed on the frontpage 800 of FIG. 8, such as the following: news about Kuza using link850, news about the Tour de France using link 860, and news aboutIntrapartum Asphyxia using link 870. Since the stories important to theuser are placed on the front page, the user need not browse through allthe latest news to check for three aforementioned topics. Not only isthe user more satisfied with the application 610 and the companyassociated with application 610, but the through rate may increase forall the customers to that particular web site associated with theXYZNEWS application 610.

While the methods illustrated in processes 900 and 1000 of embodimentsof the present invention show specific sequences and quantity of steps,the present invention is suitable to alternative embodiments. Forexample, not all the steps provided for in the method are required forthe present invention. Furthermore, additional steps can be added to thesteps presented in the present embodiments. Likewise, the sequence ofsteps can be modified depending upon the application.

The preferred embodiment of the present invention, a method and systemfor updating application resident on a personal digital assistant viadevice synchronization, is thus described. While the present inventionhas been described in particular embodiments, it should be appreciatedthat the present invention should not be construed as limited by suchembodiments, but rather construed according to the below claims.

What is claimed is:
 1. A method of updating an application on anelectronic device from a content server through a host device,comprising the steps of: providing a conduit resident on the hostdevice; comparing, by the conduit, a version of an application stored bythe host device with a current version of a corresponding applicationresiding on the content server to determine whether a newer version ofthe application resides on the content server; communicating useridentification information regarding the electronic device to thecontent server; storing the newer version from the content server; andextracting and installing the newer version from the host device on theelectronic device; and wherein the newer version of the application ispersonalized for the electronic device based on the user identificationinformation.
 2. The method of claim 1, wherein the electronic deviceincludes a display.
 3. The method of claim 1, wherein the electronicdevice comprises at least one of: a cellular phone, a Personal DigitalAssistant, and a palm top computer.
 4. The method of claim 1, whereinthe updated application is personalized based on stored userinformation.
 5. The method of claim 1, wherein the synchronizationincludes docking the electronic device in a cradle coupled to the hostdevice.
 6. The method of claim 1, wherein the content server comprisesat least one of: a remote server computer system, a remote computersystem, and a computer directly connected to the host device.
 7. Themethod of claim 1, wherein the content server dynamically generates theupdated application.
 8. The method of claim 1, wherein the useridentification information comprises at least one of a name, an address,and previous content interacted with by the user.
 9. A system forproviding updating applications on an electronic device, comprising: anon-transitory memory having instructions stored thereon for a conduitwhich synchronizes data between a content server and said electronicdevice; and a host device, operatively coupled to said memory,configured to execute said instructions of said conduit including:comparing a version of an application stored by the host device with acurrent version of a corresponding application residing on said contentserver to determine whether a newer version of the application resideson the content server; communicating user identification informationregarding the electronic device to the content server; storing the newerversion from the content server; and extracting and installing the newerversion from the host device on the electronic device personalized basedon the user identification information.
 10. The system of claim 9,wherein the electronic device includes a display.
 11. The system ofclaim 9, wherein the electronic device comprises at least one of: acellular phone, a Personal Digital Assistant, and a palm top computer.12. The system of claim 9, wherein the updated application ispersonalized based on stored user information.
 13. The system of claim9, wherein the synchronization includes docking the electronic device ina cradle coupled to the host device.
 14. The system of claim 9, whereinthe content server comprises at least one of: a remote server computersystem, a remote computer system, and a computer directly connected tothe host device.
 15. The system of claim 9, wherein the content serverdynamically generates the updated application.
 16. The system of claim9, wherein the user identification information comprises at least one ofa name, an address, and previous content interacted with by the user.17. A non-transitory computer-readable storage medium storingcomputer-readable instructions for a conduit, which when executed, causea host device to perform the following steps: providing the conduitresident on the host device; comparing, by the conduit, a version of anapplication stored by the host device with a current version of acorresponding application residing on a content server to determinewhether a newer version of the application resides on the contentserver; communicating user identification information regarding anelectronic device to the content server; storing the newer version fromthe content server; and extracting and installing the newer version fromthe host device on the electronic device, wherein the newer version ofthe application is personalized for the electronic device based on theuser identification information.
 18. The storage medium of claim 17,wherein the content server comprises at least one of: a remote servercomputer system, a remote computer system, and a computer directlyconnected to the host device.
 19. The storage medium of claim 17,wherein the content server dynamically generates the updatedapplication.
 20. The storage medium of claim 17, wherein the useridentification information comprises at least one of a name, an address,and previous content interacted with the user.